﻿
/*----------------------------------------------------------------
 * 创建时间：2023/7/28 16:19:14
 * 作  者：wenlli 
 * 项  目：Minotaur.App.Domains.Dto 
 * 描  述：流程类型
 *
 * ----------------------------------------------------------------
 * 修改人：
 * 时  间：
 * 修改说明：
 * 
 *----------------------------------------------------------------*/


using MaterialDesignThemes.Wpf;
using Prism.Mvvm;
using System.Collections.ObjectModel;

namespace Minotaur.App.Domains.Dto
{
    public class HomeFlowListDto : BindableBase
    {
        private string _title;
        private ObservableCollection<FlowTaskDto> _TaskDtos = new ObservableCollection<FlowTaskDto>();

        public string Title { get => _title; set => SetProperty(ref _title, value); }
        public ObservableCollection<FlowTaskDto> TaskDtos { get => _TaskDtos; set => SetProperty(ref _TaskDtos, value); }
    }
    /// <summary>
    /// 任务
    /// </summary>
    public class FlowTaskDto : BindableBase
    {
        private long _InstanceId;
        private string _TaskTitle;
        private string _Status;
        private string _Type;
        private string _FlowStatus;
        private long _FlowId;
        private long _GroupId;
        private long _TaskId;

        private PackIconKind _PackIconKind;
        /// <summary>
        /// 实例ID
        /// </summary>
        public long InstanceId { get => _InstanceId; set => SetProperty(ref _InstanceId, value); }

        /// <summary>
        /// 任务标题
        /// </summary>
        public string TaskTitle { get => _TaskTitle; set => SetProperty(ref _TaskTitle, value); }

        /// <summary>
        /// 任务状态
        /// </summary>
        public string TaskStatus { get => _Status; set => SetProperty(ref _Status, value); }

        /// <summary>
        /// 流程类型
        /// </summary>
        public string Type { get => _Type; set => SetProperty(ref _Type, value); }
        /// <summary>
        /// 实例状态
        /// </summary>
        public string FlowStatus { get => _FlowStatus; set => SetProperty(ref _FlowStatus, value); }

        /// <summary>
        /// 流程ID
        /// </summary>
        public long FlowId { get => _FlowId; set => SetProperty(ref _FlowId, value); }

        /// <summary>
        /// 流程分组ID
        /// </summary>
        public long GroupId { get => _GroupId; set => SetProperty(ref _GroupId, value); }

        /// <summary>
        /// 任务ID
        /// </summary>
        public long TaskId { get => _TaskId; set => SetProperty(ref _TaskId, value); }
        public PackIconKind PackIconKind { get => _PackIconKind; set => SetProperty(ref _PackIconKind, value); }
    }
    public class FlowTypeDto : BindableBase
    {
        private string _Title;
        private string _Type;
        private long _FlowId;
        private PackIconKind _PackIconKind;
        private string _Color;

        public string Title { get => _Title; set => SetProperty(ref _Title, value); }
        public string Type { get => _Type; set => SetProperty(ref _Type, value); }
        public long FlowId { get => _FlowId; set => SetProperty(ref _FlowId, value); }
        public PackIconKind PackIconKind { get => _PackIconKind; set => SetProperty(ref _PackIconKind, value); }
        public string Color { get => _Color; set => SetProperty(ref _Color, value); }
    }
}
